import os
import json


def txt_to_json(input_dir, output_dir):
    """
    将指定文件夹内的TXT文件转换为JSON文件，数据保持原样
    :param input_dir: TXT文件所在目录
    :param output_dir: 输出JSON文件目录
    """
    # 确保输出目录存在
    os.makedirs(output_dir, exist_ok=True)

    # 遍历输入目录内的所有TXT文件
    for filename in os.listdir(input_dir):
        if filename.endswith('.txt'):
            txt_path = os.path.join(input_dir, filename)
            json_filename = os.path.splitext(filename)[0] + '.json'
            json_path = os.path.join(output_dir, json_filename)

            try:
                # 读取TXT文件内容
                with open(txt_path, 'r', encoding='utf-8') as f:
                    content = f.read()

                # 尝试将内容解析为 JSON 数据，如果失败则直接使用原始文本
                try:
                    data = json.loads(content)
                except json.JSONDecodeError:
                    data = content

                # 写入JSON文件
                with open(json_path, 'w', encoding='utf-8') as f:
                    json.dump(data, f, ensure_ascii=False, indent=4)

                print(f"转换成功: {filename} -> {json_filename}")
            except Exception as e:
                print(f"处理文件 {filename} 时出错: {str(e)}")


if __name__ == "__main__":
    # 修改下面的路径为实际的输入输出目录
    input_folder = r"D:\subtitle\goods\80\walmart_goods_80"  # TXT文件所在目录
    output_folder = r"D:\subtitle\goods\80\walmart_goods_80"  # JSON文件输出目录

    txt_to_json(input_folder, output_folder)
    print("全部转换完成！")
